package com.permissionnanny.lib.request.content; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import com.permissionnanny.lib.Event; import com.permissionnanny.lib.Nanny; import com.permissionnanny.lib.request.RequestParams; /** * */ public class ContentEvent implements Event { private RequestParams mRequest; private ContentListener mListener; public ContentEvent(RequestParams request, ContentListener listener) { mRequest = request; mListener = listener; } @Override public String filter() { return Nanny.AUTHORIZATION_SERVICE; } @Override public void process(Context context, Intent intent) { switch (mRequest.opCode) { case ContentRequest.SELECT: Uri authorized = null; if (Nanny.SC_OK == intent.getIntExtra(Nanny.STATUS_CODE, 0)) { long uriPath = intent.getBundleExtra(Nanny.ENTITY_BODY).getLong(mRequest.opCode, 0); authorized = Nanny.getProxyContentProvider().buildUpon().appendPath(Long.toString(uriPath)).build(); } ContentResolver cr = context.getContentResolver(); Cursor data = authorized == null ? null : cr.query(authorized, null, null, null, null); mListener.onResponse(intent.getExtras(), data); break; default: mListener.onResponse(intent.getExtras(), null); } } }